From: Carlos Garnacho Date: Thu, 23 Nov 2023 23:28:39 +0000 (+0100) Subject: magnifier: Keep accounting of own cursor unfocus inhibition X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~281^2~1^2~186 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=412081a6896c3bfcf9791e7ebfe6f0c10fe3c9b9;p=gnome-shell.git magnifier: Keep accounting of own cursor unfocus inhibition Do not rely on global state since there may be more users of it. Part-of: --- diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 60971e914..84a2d8924 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -126,6 +126,7 @@ export class Magnifier extends Signals.EventEmitter { }); this.setActive(St.Settings.get().magnifier_active); + this._cursorUnfocusInhibited = false; } /** @@ -135,8 +136,10 @@ export class Magnifier extends Signals.EventEmitter { showSystemCursor() { const seat = Clutter.get_default_backend().get_default_seat(); - if (seat.is_unfocus_inhibited()) + if (this._cursorUnfocusInhibited) { seat.uninhibit_unfocus(); + this._cursorUnfocusInhibited = false; + } if (this._cursorVisibilityChangedId) { this._cursorTracker.disconnect(this._cursorVisibilityChangedId); @@ -153,8 +156,10 @@ export class Magnifier extends Signals.EventEmitter { hideSystemCursor() { const seat = Clutter.get_default_backend().get_default_seat(); - if (!seat.is_unfocus_inhibited()) + if (!this._cursorUnfocusInhibited) { seat.inhibit_unfocus(); + this._cursorUnfocusInhibited = true; + } if (!this._cursorVisibilityChangedId) { this._cursorTracker.set_pointer_visible(false);